<?php

namespace app\admin\model;

use think\Db;
use think\Model;

class ProblemModel extends Model
{

    // 设置数据表（不含前缀）
    protected $name = 'poblem_table';
    // 设置当前模型对应的完整数据表名称
    protected $table = 'ld_poblem_table';

    public function __construct($data = [])
    {
        parent::__construct($data);
    }


    /**
     * @param 添加问题
     */
    public function addinect($data){
        // 启动事务
        Db::startTrans();
        try{
            $query = Db::name($this->name)->insert($data);
            // 提交事务
            Db::commit();
            return $query;
        } catch (\Exception $e) {
            // 回滚事务
            Db::rollback();
            return false;
        }
    }


    /**
     * @param $where
     * @param $page
     * @param $limit
     * @param 问题列表数据
     */
    public function problist($where,$wheres,$tops,$bios,$page,$limit){
        $query = Db::name($this->name)->alias('a')
            ->join('adminuser b','a.uid=b.id','left')
            ->join('adminuser c','a.FounderID=c.id','left')
            ->join('classification d','a.classid=d.id')
            ->where($where)
            ->where($wheres)
            ->where($tops)
            ->where($bios)
            ->field('a.*,b.username,c.username as name,d.titlename')
            ->page($page)
            ->limit($limit)
            ->order('id desc')
            ->select();
            return $query;
    }


    /**
     * @param $where
     * @param 统计总条数
     */
    public function county($where,$tops,$bios,$wheres){
        $query = Db::name($this->name)->alias('a')
            ->join('adminuser b','a.uid=b.id','left')
            ->join('adminuser c','a.FounderID=c.id','left')
            ->join('classification d','a.classid=d.id')
            ->where($where)
            ->where($wheres)
            ->where($tops)
            ->where($bios)
            ->count();
        return $query;
    }


    /**
     * @param $where
     * @param  获取禁用/启用状态
     */
    public function exbut($where){
        $query = Db::name($this->name)->where($where)->find();
        return $query;
    }


    /**
     * @param $where
     * @param $data
     * @param 修改禁用/启用状态
     */
    public function eidtion($where,$data){
        // 启动事务
        Db::startTrans();
        try{
            $query = Db::name($this->name)->where($where)->update($data);
            // 提交事务
            Db::commit();
            return $query;
        } catch (\Exception $e) {
            // 回滚事务
            Db::rollback();
            return false;
        }
    }


    /**
     * @param $id
     * @param 删除问题
     */
    public function delect($id){
        // 启动事务
        Db::startTrans();
        try{
            $query = Db::name($this->name)->where('id',$id)->delete();
            // 提交事务
            Db::commit();
            return $query;
        } catch (\Exception $e) {
            // 回滚事务
            Db::rollback();
            return false;
        }
    }


    /**
     * @param $id
     * @param 获取当前修改信息
     */
    public function editlist($id){
        $query = Db::name($this->name)->where('id',$id)->find();
        return $query;
    }


    /**
     * @param $where
     * @param $data
     * @param 修改问题
     */
    public function edisont($where,$data){
        // 启动事务
        Db::startTrans();
        try{
            $query = Db::name($this->name)->where($where)->update($data);
            // 提交事务
            Db::commit();
            return $query;
        } catch (\Exception $e) {
            // 回滚事务
            Db::rollback();
            return false;
        }
    }


    /**
     * @param 确认问题
     */
    public function confirmlist($where,$data){
        // 启动事务
        Db::startTrans();
        try{
            $query = Db::name($this->name)->where($where)->update($data);
            // 提交事务
            Db::commit();
            return $query;
        } catch (\Exception $e) {
            // 回滚事务
            Db::rollback();
            return false;
        }
    }


    /**
     * @param $prid
     * @param 重置问题
     */
    public function restls($prid,$data){
        // 启动事务
        Db::startTrans();
        try{
            $query = Db::name($this->name)->where('id',$prid)->update($data);
            // 提交事务
            Db::commit();
            return $query;
        } catch (\Exception $e) {
            // 回滚事务
            Db::rollback();
            return false;
        }
    }


    /**
     * @param 获取问题列表
     */
    public function sellist(){
        $query = Db::name($this->name)->field('id,title')->select();
        return $query;
    }


    /**
     * @param $id
     * @param 获取问题详情列表
     */
    public function details($id){
        $query = Db::name($this->name)->where('id',$id)->find();
        return $query;
    }


    /**
     * @param $where
     * @param $data
     * @param 设置处理天数
     */
    public function groudtime($where,$data){
        $query = Db::name($this->name)->where($where)->update($data);
        return $query;
    }


    /**
     * @param $where
     * @param $data
     * @param 显示隐藏问题
     */
    public function showdata($where,$data){
        $query = Db::name($this->name)->where($where)->update($data);
        return $query;
    }


    /**
     * @param $where
     * @param 待解决问题数量
     */
    public function conunty($where){
        $query = Db::name($this->name)->where($where)->count();
        return $query;
    }


    /**
     * @param $where
     * @param 详情所属
     */
    public function auxlist($where){
        $query = Db::name($this->name)->alias('a')->join('adminuser b','a.FounderID=b.id','left')->join('namemanag c','a.managid=c.id')->where($where)->field('a.*,b.username,c.titname,c.culr,c.urls')->order('id desc')->find();
        return $query; 
    }

    public function emptyu($where){
        // 启动事务
        Db::startTrans();
        try{
            $query = Db::name($this->name)->where($where)->find();
            // 提交事务
            Db::commit();
            return $query;
        } catch (\Exception $e) {
            // 回滚事务
            Db::rollback();
            return false;
        }
    }


    /**
     * @param $where
     * @param $data
     * @param 忽略问题
     */
    public function huledata($where,$data){
        Db::startTrans();
        try{
            $query = Db::name($this->name)->where($where)->update($data);
            // 提交事务
            Db::commit();
            return $query;
        } catch (\Exception $e) {
            // 回滚事务
            Db::rollback();
            return false;
        }
    }


    /**
     * @param 问题是否忽略
     */
    public function mosdelt($id){
        $query = Db::name($this->name)->where('id',$id)->field('huluid,classid')->find();
        return $query;
    }


//    public function adseino(){
//        $query = Db::name('auth_rule')->select();
//        $query = Db::query('alter table ld_poblem_table add managid tinyint(1) not Null DEFAULT 1');
//        $query = Db::query('alter table ld_auth_rule CHANGE  navlevell navlevel int(11) NOT Null DEFAULT 0');
//        $query = Db::query(' ALTER TABLE `ld_namemanag` MODIFY COLUMN  `addTime` datetime NULL DEFAULT CURRENT_TIMESTAMP');
//        return $query;
//    }
    
}